home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Personal Computer World 2009 February
/
PCWFEB09.iso
/
Software
/
Linux
/
SLAX 6.0.8
/
slax-6.0.8.iso
/
slax
/
tools
/
deb2lzm
< prev
next >
Wrap
Text File
|
2008-11-21
|
1KB
|
52 lines
#!/bin/bash
# convert Debian/Ubuntu's DEB package into .lzm compressed file
# which can be used as a LiveCD module
#
# Author: Tomas M. <http://www.linux-live.org>
# Peter Chabada <http://chabada.sk>
#
if [ "$1" = "" ]; then
echo "Convert Debian/Ubuntu's DEB package into .lzm compressed module"
echo "usage: $0 source_filename.deb [output_file.lzm]"
exit 1
fi
if ! which dpkg > /dev/null; then
echo "Error: dpkg is not installed!"
echo "You must have dpkg installed to unpack DEB package."
exit 1
fi
PATH=.:$(dirname $0):/usr/lib:$PATH
. liblinuxlive || exit 1
TMPDIR=/tmp/deb2lzm_$$
TMPDIRCONTR=/tmp/deb2lzm_contr_$$
rm -Rf $TMPDIR
rm -Rf $TMPDIRCONTR
dpkg --extract $1 $TMPDIR
if [ $? != 0 ]; then echo "error unpacking package"; exit; fi
dpkg --control $1 $TMPDIRCONTR
if [ $? != 0 ]; then echo "error unpacking package control files"; exit; fi
echo >> $TMPDIRCONTR/control
PACKAGE=$(dpkg --field $1 package)
mkdir -p $TMPDIR/var/lib/dpkg/info
for FILE in $TMPDIRCONTR/*; do
cp $FILE $TMPDIR/var/lib/dpkg/info/$PACKAGE.$(basename $FILE)
done
PACKAGE=$PACKAGE.lzm
if [ ! "$2" = "" ]; then PACKAGE=$2; fi
create_module $TMPDIR "$PACKAGE"
if [ $? != 0 ]; then echo "error building compressed image"; exit; fi
rm -Rf $TMPDIR
rm -Rf $TMPDIRCONTR